package com.yearner.reviewplan.common.enums;

import com.yearner.reviewplan.common.exception.ErrorCode;

/**
 * @author pengyg
 * @since 2019/10/16
 */
public enum ResponseCode implements ErrorCode {
    /** 成功 */
    SUCCESS(0,"SUCCESS"),
    /** 失败 */
    FAILED(410, "获取信息失败"),
    /** 系统错误 */
    SYSTEM_ERROR(50001, "系统错误"),
    /**
     * 401部分
     * 用户未登录 */
    NOT_LOGIN(40101, "用户未登录"),
    /** 用户未登录 */
    PASSWORD_NOT_CONFIRM(40102, "密码验证失败"),


    /**
     * 403部分
     */
    REQUEST_VALIDATION_FAILED(40301, "请求数据格式验证失败"),
    /** 用户名已被使用 */
    ACCOUNT_NAME_REDO(40302, "用户名已被使用"),
    /**  session锁定 */
    SESSION_LOCK(40303, "用户操作被锁定，请15分钟后再试！"),
    /** token校验失败 */
    AUTH_ID_FAILED(40304,"用户传递id不匹配！"),
    /** 没有权限 */
    NO_PERMISSION(40304,"用户没有权限！"),

    /**
     * 404部分
     */
    // 登录失败
    NOT_FOUND_USER(40401,"用户名不存在或密码不正确！"),
    NOT_FOUND_USER_2(40401,"传递用户ID有误，用户不存在！"),
    /** token校验失败 */
    AUTH_TOKEN_FAILED(40402,"token校验失败！");

    private int status;
    private String message;

    ResponseCode(int status, String message) {
        this.status = status;
        this.message = message;
    }

    @Override
    public int getCode() {
        return status;
    }

    @Override
    public String getMessage() {
        return message;
    }

    @Override
    public String getName() {
        return this.name();
    }
}
